home *** CD-ROM | disk | FTP | other *** search
/ The Macintosh Demo Applications CD / Apple-MacintoshDemoApplicationsCD-1.0-1992.iso / More Information / QuicKeys / For Programmers Only.sea / Pascal Examples / commonExecute.a next >
Text File  |  1991-06-22  |  2KB  |  65 lines

  1. ;    $Workfile:   commonExecute.a  $
  2. ;    $Revision:   1.0  $
  3.     
  4. ;    extension execution interface code
  5. ;     collects things of interest to the execution routine and calls it as:
  6. ;        Procedure doExecute(wSelector: integer; var myData: ExtensionData;
  7. ;                            var myQueue: ExtensionQueue; wPeriodicType: integer);
  8.  
  9. ;      © 1990 CE Software, Inc. All rights reserved.
  10.  
  11. ;    For QuicKeys 2 Extension Sample source code you have a royalty-free right
  12. ;    to include object code derived from this Sample source code in programs
  13. ;    that you develop.  You also have the right to use, distribute, and license
  14. ;    such programs to third parties without payment of any further license fees
  15. ;    to CE Software, Inc., so long as a copyright notice sufficient to protect
  16. ;    your copyright for your software in the United States or any other country;
  17. ;    is included in the graphic display of your software and on the labels
  18. ;    affixed to the media on which your software is distributed.
  19.  
  20. ;    REVISION HISTORY:
  21.  
  22. ;    WHEN    WHO        WHAT
  23.  
  24.  
  25. ;Checked in by Marsh Gosnell, Wednesday, September 5, 1990 12:36:19 PM
  26. ;    8/27    MKG        Created file
  27. ;    9/4        mkg        added periodic type to args passed to doExecute
  28. ;•••••
  29. ;    
  30. ;•••••
  31.                 BLANKS        OFF             ;allow comments without semicolons
  32.                 STRING        ASIS
  33.                 INCLUDE     'Traps.a'
  34.                 INCLUDE     'ToolEqu.a'
  35.                 INCLUDE     'SysEqu.a'
  36.             
  37. main        Main     export
  38. ;
  39. ;
  40. queue        dc.l    0                        ;next entry in the queue
  41.             dc.l    0                        ;our creator
  42.             dc.w    0                        ;No, we don't need a periodic call
  43. MyName        dcb.b    32,0                    ;our file name will be filled out here
  44. MySICN        dcb.b    32,0                    ;our SICN gets copied here on bootup
  45.             dc.l    0                        ;our refcon, if we want it
  46. ;
  47. ;  Procedure MyExtern(CallType:integer; MyData:MyDataPtr);
  48. ;
  49.             import doExecute
  50. MyExtern    link    A6,#0
  51.             move.w    12(a6),-(A7)            ; push selector
  52.             move.l    8(A6),A0                ; get address of current key data
  53.             lea        $7B4(A0),A0
  54.             move.l    A0,-(A7)
  55.             pea        queue                    ; address of our queue entry
  56.             move.w    D3,-(A7)                ; type of periodic
  57.             jsr        doExecute
  58.             unlk    A6
  59.             move.l    (SP)+,A0
  60.             adda.l    #6,SP
  61.             jmp        (A0)
  62.             endp
  63.             
  64.             end
  65.